package obj.day3.test;

/**
 * @author げっしょく
 * @date 2021/7/17
 */
public class distinction {
    public static void main(String[] args) {
        //这是有参有返回值的匿名内部类方法
        resu(new sum() {
            @Override
            public int sum(int a, int b) {
                return a + b;
            }
        });
        //这是有参有返回值的Lambda方法
        resu((int a, int b) -> {
            return a + b;
        });
        //这是无参有返回值的匿名内部类方法
        useuntp(new untp() {
            @Override
            public int show() {
                return 666;
            }
        });
        //这是无参有返回值的Lambda方法
        useuntp(() ->{
            return 555;
        });
        //这是无参无返回值的方法
        useintp(new intp() {   //这是在使用匿名内部类
            @Override
            public void sup() {
                System.out.println("nishishabi");
            }
        });
        //这是无参无返回值的Lambda方法
        useintp(() ->{
            System.out.println("woshinibaba");
        });
    }
    public static void resu(sum s){
        int result = s.sum(10, 20);
        System.out.println(result);
    }
    public static void useuntp(untp u){
        int b =u.show();
        System.out.println(b);
    }
    public static void useintp(intp ur){
        ur.sup();
    }
}
interface sum{
    int sum(int a, int b);
}
interface untp{
    int show();
}

interface intp{
    void sup();
}
